TYPE=Ethernet
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=eth{{index}}
DEVICE=eth{{index}}
ONBOOT=yes
{% if ip %}
IPADDR={{ip}}
{% endif %}
{% if netmask %}
NETMASK={{netmask}}
{% endif %}
{% if gateway %}
GATEWAY={{gateway}}
{% endif %}
{% for dns in dnsList %}
DNS{{loop.index}}={{dns}}
{% endfor %}

{% for otherIp in otherIpList %} 
IPADDR{{loop.index}}={{otherIp}}
{% endfor %}